package cn.edu.gxnu;

import java.io.PrintStream;
import java.nio.charset.StandardCharsets;

public class Main {
    public static void main(String[] args) {
        // 创建TCP服务器实例
        TcpServer server = new TcpServer(8080, EchoHandler::new);

        System.setOut(new PrintStream(System.out, true, StandardCharsets.UTF_8));
        // 启动服务器
        System.out.println("启动TCP服务器，端口: " + server.getPort());
        new Thread(server::run, "TCP-Server").start();

        // 添加关闭钩子，确保程序退出时服务器优雅关闭
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            System.out.println("\n接收到关闭信号，停止服务器...");
            server.stop();
        }));

        System.out.println("服务器已启动。输入 CTRL+C 停止服务器。");
    }
}
